package com.example.xlmkotlinwanandroid.network

import com.example.xlmkotlinwanandroid.model.bean.ApiPagerResponse
import com.example.xlmkotlinwanandroid.model.bean.ArticleBean
import com.example.xlmkotlinwanandroid.model.bean.BannerBean
import com.example.xlmkotlinwanandroid.model.bean.ProjectCategoryBean
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Path
import retrofit2.http.Query

/***
 * 写入统一的接口配置文件
 */
interface ApiService {
    companion object {
        const val BASE_URL = "https://www.wanandroid.com/"
    }
    /**
     * 获取banner数据
     */
    @GET("banner/json")
    suspend fun getBannerList(): BaseResponse<ArrayList<BannerBean>>
    //获取首页文章
    @GET("article/list/{page}/json")
    suspend fun getArticleList(@Path("page") pageNo: Int): BaseResponse<ApiPagerResponse<List<ArticleBean>>>
    //获取首页文章使用paging
    @GET("article/list/{page}/json")
    fun getArticleList2(@Path("page") pageNo: Int): Call<ArticleResponse2>
    //获取项目类别
    @GET("project/tree/json")
    suspend fun getProjectCategory():BaseResponse<ArrayList<ProjectCategoryBean>>

    /**
     * 根据分类id获取项目数据
     */
    @GET("project/list/{page}/json")
    suspend fun getProjecDataByType(
        @Path("page") pageNo: Int,
        @Query("cid") cid: Int
    ): BaseResponse<ApiPagerResponse<ArrayList<ArticleBean>>>

}